package com.ruoyi.system.domain;

import java.util.Date;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;

/**
 * 积分清零规则设置对象 points_reset_rule
 *
 * @author ruoyi
 * @date 2025-05-20
 */
@Data
@ApiModel("积分清零规则")
public class PointsResetRule extends AbdulBaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键，唯一标识每条积分清零规则记录
     */
    @ApiModelProperty("自增主键，唯一标识每条积分清零规则记录")
    @Excel(name = "自增主键", readConverterExp = "唯=一标识每条积分清零规则记录")
    private Long id;

    /**
     * 规则名称
     */
    @ApiModelProperty("规则名称")
    @Excel(name = "规则名称")
    private String ruleName;

    /**
     * 积分清零方式（NO_RESET: 不清零，FIXED_DATE_RESET: 指定日期全部清零）
     */
    @ApiModelProperty("积分清零方式（NO_RESET: 不清零，FIXED_DATE_RESET: 指定日期全部清零）")
    @Excel(name = "积分清零方式", readConverterExp = "N=O_RESET:,不=清零，FIXED_DATE_RESET:,指=定日期全部清零")
    private String resetType;

    /**
     * 清零规则描述
     */
    @ApiModelProperty("清零规则描述")
    @Excel(name = "清零规则描述")
    private String resetRuleDescription;

    /**
     * 积分清零提醒是否启用
     */
    @ApiModelProperty("积分清零提醒是否启用")
    @Excel(name = "积分清零提醒是否启用")
    private Integer isResetReminderEnabled;

    /**
     * 积分清零提醒设置
     */
    @ApiModelProperty("积分清零提醒设置")
    @Excel(name = "积分清零提醒设置")
    private String reminderSettings;

    /**
     * 新会员积分不清零是否启用
     */
    @ApiModelProperty("新会员积分不清零是否启用")
    @Excel(name = "新会员积分不清零是否启用")
    private Integer isNewMemberExempt;

    /**
     * 新会员积分不清零规则描述
     */
    @ApiModelProperty("新会员积分不清零规则描述")
    @Excel(name = "新会员积分不清零规则描述")
    private String newMemberExemptionDescription;

    /**
     * 规则状态（ACTIVE: 生效，INACTIVE: 失效）
     */
    @ApiModelProperty("规则状态（ACTIVE: 生效，INACTIVE: 失效）")
    @Excel(name = "规则状态", readConverterExp = "A=CTIVE:,生=效，INACTIVE:,失=效")
    private String status;

    /**
     * 规则生效开始日期（YYYY-MM-DD，可选）
     */
    @ApiModelProperty("规则生效开始日期（YYYY-MM-DD，可选）")
    @Excel(name = "规则生效开始日期", readConverterExp = "Y=YYY-MM-DD，可选")
    private Date effectiveStartDate;

    /**
     * 规则生效结束日期（YYYY-MM-DD，可选）
     */
    @ApiModelProperty("规则生效结束日期（YYYY-MM-DD，可选）")
    @Excel(name = "规则生效结束日期", readConverterExp = "Y=YYY-MM-DD，可选")
    private Date effectiveEndDate;

    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    @Excel(name = "手机号")
    private String phone;
}